package br.com.gecandango.portlets.evento;

import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import javax.portlet.ActionRequest;
import javax.portlet.ActionResponse;
import javax.portlet.PortletConfig;
import javax.portlet.RenderRequest;

import org.apache.log4j.Logger;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping;

import br.com.gecandango.beans.Contato;
import br.com.gecandango.beans.Especialidade;
import br.com.gecandango.beans.Etapa;
import br.com.gecandango.beans.FichaSaude;
import br.com.gecandango.beans.Socio;

public class EventoPortlet extends EventoAction {

	static final Logger logger = Logger
	.getLogger(EventoPortlet.class);
	
	public void processAction(ActionMapping mapping, ActionForm form,
			PortletConfig config, ActionRequest req, ActionResponse res)
			throws Exception {
		String acao = req.getParameter("acao");
		Contato contato = new Contato();
		if (acao.equals("add")){
			setForward(req, "portlet.ext.contato.edit");
		} else if (acao.equals("list")){
			req.setAttribute("contatos", getContatoService().list());
			setForward(req, "portlet.ext.contato.list");
		} else if (acao.equals("edit")){
			contato = getContatoService().find(Long.parseLong(req
					.getParameter("id")));
			req.setAttribute("contato", contato);
			setForward(req, "portlet.ext.contato.edit");
		} else if (acao.equals("delete")){
			contato = getContatoService().find(Long.parseLong(req
					.getParameter("id")));
			getContatoService().delete(contato);
			setForward(req, "portlet.ext.contato.list");
		} else if (acao.equals("salvar")){
			contato = salvarContato(req);
			req.setAttribute("contato", contato);
			setForward(req, "portlet.ext.contato.edit");
		} else {
			setForward(req, "portlet.ext.contato.view");
		}
		
		
	}
	public Contato salvarContato(ActionRequest request){
		String id = (String) request.getParameter("id_contato");
		String nome = (String) request.getParameter("nome");
		String descricao = (String) request.getParameter("descricao");
		String endereco = (String) request.getParameter("endereco");
		String telefone = (String) request.getParameter("telefone");
		String email = (String) request.getParameter("email");
		String telefone2 = (String) request.getParameter("telefone2");
		
		
		Contato contato = new Contato();
		
		if(id!= null){
			try {
				contato.setId(Long.parseLong(id));
			} catch (Exception e) {
			}
		}
		contato.setNome(nome);
		
		contato.setDescricao(descricao);
		contato.setEndereco(endereco);
		contato.setTelefone(telefone);		
		contato.setTelefone2(telefone2);		
		contato.setEmail(email);
		try {
			return getContatoService().save(contato);
		} catch (Exception e) {
			return null;
		}		
	}
}
